import { app, dialog } from "electron";
import { autoUpdater } from "electron-updater";


export function initUpdater(mainWindow) {
  autoUpdater.autoDownload = false;// 关闭自动下载，改为手动触发
  autoUpdater.on('update-available', () => {
    mainWindow.focus();
    dialog.showMessageBox(mainWindow, { // 关联主窗口
      title: '发现新版本',
      message: '必须下载更新才能继续使用！', // 强调必选
      buttons: ['立即下载', '退出应用'], // 移除"否"选项
      defaultId: 0,
      cancelId: 1,
      type: 'info',
      noLink: true, // 禁用默认链接
      // modal: true   // 强制模态，阻塞主窗口操作
    }).then(({ response }) => {
      if (response === 0) autoUpdater.downloadUpdate();
      else app.quit(); // 用户拒绝则退出应用
    });
  });

  autoUpdater.on('update-downloaded', () => {
    mainWindow.focus();
    dialog.showMessageBox(mainWindow, {
      title: '更新就绪',
      message: '必须重启应用完成安装！',
      buttons: ['立即重启'],
      // modal: true // 强制响应
    }).then(() => autoUpdater.quitAndInstall());
  });

  autoUpdater.on('error', (err) => {
    dialog.showErrorBox('更新失败', err.message);
  });

  // 启动时检查更新
  if (app.isPackaged) autoUpdater.checkForUpdates();
}